package com.learn.controller;

import com.learn.dao.UserDao;
import com.learn.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author DJJ_F
 * @version 1.0
 * @date 2025/02/05
 * @description
 */
@Controller
public class UserController {
    @Autowired
    private UserDao userDao;

    @GetMapping("/user")
    public String getAll(Model model) {
        // 调用dao获取用户列表
        List<User> userList = userDao.getAll();
        // 绑定到request中
        model.addAttribute("userList", userList);
        // 转发到视图页面
        return "user_list";
    }
    @PostMapping("/user")
    public String save(User user) {
        userDao.insert(user);
        // 重定向到视图页面
        return "redirect:/user";
    }
    @GetMapping("/user/{id}")
    public String detail(@PathVariable("id") Integer id, Model model) {
        User user = userDao.getOneById(id);
        model.addAttribute("user", user);
        // 重定向到视图页面
        return "/user_edit";
    }
    @PutMapping("/user")
    public String modify(User user) {
        userDao.update(user);
        // 重定向到视图页面
        return "redirect:/user";
    }
    @DeleteMapping("/user/{id}")
    public String delete(@PathVariable("id") Integer id) {
        userDao.deleteById(id);
        // 重定向到视图页面
        return "redirect:/user";
    }
}
